# 常用模块
# time datetime random os sys

# time 时间模块
import time

# 1.时间戳：从1970到现在经过的秒数 主要用于时间计算
print(time.time())
# 2.按照格式显示时间：2021-08-29 11:11:11
print(time.strftime("%Y-%m-%d %H:%M:%S %p"))
print(time.strftime("%Y-%m-%d %X"))
# 3.结构化时间 用于获取时间的某一部分
res = time.localtime()
print(res)
print(res.tm_yday)  # 今年第几天
print(res.tm_year)  # 哪一年

# datetime 时间日期模块
import datetime

# 时间戳
print(datetime.datetime.now())
# 计算时间
print(datetime.datetime.now() + datetime.timedelta(days=3))
print(datetime.datetime.now() + datetime.timedelta(weeks=2))

# 时间格式转换  格式化《-》结构化《—》时间戳
# struct_time -> timestamp
s_time = time.localtime()
print(time.mktime(s_time))
# timestamp -> struct_time
tp_time = time.time()
print(time.localtime(tp_time))

# struct_time -> format string
s_time = time.localtime()
print(time.strftime("%Y-%m-%d %H:%M:%S", s_time))
# format string -> struct_time
print(time.strptime("2022-08-30 08:59:18", "%Y-%m-%d %H:%M:%S"))

# 时间休眠
# time.sleep(1)

# linux时间格式
print(time.asctime())

# 时间戳 直接转 格式化时间
print(datetime.datetime.fromtimestamp(3333))

# random 随机数模块
import random

print(random.random())  # 0-1 范围随机小数
print(random.randint(1, 3))  # [1,3] 范围随机整数(可以等于)
print(random.randrange(1, 3))  # [1,3)
print(random.sample([1, "aaa", 'b', 3], 2))  # 任意元素的两个组合
print(random.uniform(1, 3))  # (1,3) 范围随机小数
item = [1, 2, 3, 4, 5]
random.shuffle(item)  # 洗牌，打乱顺序
print(item)

# os 系统模块
import os
# 获取某个文件夹下的所有子文件以及子文件夹的名字
res = os.listdir(r"D:\Learning\python\base\module")
print(res)
# 统计文件大小
size=os.path.getsize(r"D:\Learning\python\base\module\test_module.py")
print(size)
# 运行shell命令
os.system("dir C:")
# 环境变量 字典 key和value都必须为字符串
os.environ["aaa2"]="555"
print(os.environ)
# 返回对应系统类型的文件路径
print(os.path.abspath(__file__))
# 判读文件存在
print(os.path.isfile(r"bb.txt"))

# sys 模块
import sys
# 接收解释器 python3.5 a.py 1 2 3 4 命令行参数
print(sys.argv)

